package sucre

class PerfilDocenteController {

    def loginService
        def beforeInterceptor = [action:this.&auth]
        def auth = {
            def result =loginService.validarAcceso(
                session["seguridad_usuario"],
                session["seguridad_funcionesHabilitadas"],
                controllerName,actionName,request.getRemoteAddr().toString())
            if(!result) {
                redirect(controller:"login",action:"auth",params:['acceso':false])
                return false
            }
        }
    def index = {}
    // the delete, save and update actions only accept POST requests
    static allowedMethods = [delete:'POST', save:'POST', update:'POST']

    def parametersService
    def create = {
        def docenteInstance = new Docente()
        params.eOc='edit'
        docenteInstance.properties = params
        
        //-----------busco el alumno que inicio session-------------------------
        def usuario = Usuario.findByLogin(session["seguridad_usuario"])
        println ".................el usuario: " + usuario.email
        docenteInstance=Docente.findByCorreo(usuario.email)
        return [docenteInstance:docenteInstance,eOc:params.eOc]
    }

    def save = {
        def listaErrores=[]
        //-----------------------formateo la fecha --------------------------
        def formateador = new java.text.SimpleDateFormat("dd/MM/yyyy")
        params.fechaDeNacimiento = formateador.parse(params.fechaDeNacimiento)
        def docenteInstance = new Docente(params)

        if(params.eOc=='edit'){
            println "params.id: " + params.id
            docenteInstance=Docente.get(params.id)
            docenteInstance.properties=params
        }
        
        Docente.withTransaction{ status ->
            try{
                if(!docenteInstance.hasErrors() && docenteInstance.save(flush:true)) {                    
                    //def.titular.actualizado
                    flash.message=message(code:'Perfil Actualizado', args:[docenteInstance])
                }
            }catch(Exception e){
                println e
                listaErrores.add(message(code:'def.docente.error.Creando'))
                status.setRollbackOnly()
            }
        }    

        render(view:'create',model:[docenteInstance:docenteInstance,
                eOc:params.eOc,upd:'si',listaErrores:listaErrores])
    }
}
